home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 34.zip / BS1 part 34 / Megatool II.adf / VirusXV4.0.Docs < prev    next >
Text File  |  1988-12-31  |  24KB  |  796 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.                                 VirusX 4.0
  22.  
  23.                                     by
  24.  
  25.                         Steve Tibbett and Dan James
  26.  
  27.  
  28.                                Documentation
  29.  
  30.                                     by
  31.  
  32.                         Steve Tibbett and Jim Meyer
  33.  
  34.  
  35.  
  36.  
  37.            First released to the PIRATESHIP BBS in Ottawa Ontario
  38.                         On November 25, 1989
  39.  
  40.                           (613) 829-2741
  41.  
  42.                  The Elite BBS for AMIGA Public Domain!
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.                              Table of Contents
  74.  
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    2
  83.  
  84. How To Use VirusX  . . . . . . . . . . . . . . . . . . . . . . . . . .    2
  85.  
  86. VirusX Options . . . . . . . . . . . . . . . . . . . . . . . . . . . .    3
  87.      Command Line Options  . . . . . . . . . . . . . . . . . . . . . .    3
  88.      Active Window Options . . . . . . . . . . . . . . . . . . . . . .    3
  89.  
  90. General Notes  . . . . . . . . . . . . . . . . . . . . . . . . . . . .    4
  91.      Mail  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    4
  92.      Nut Alert . . . . . . . . . . . . . . . . . . . . . . . . . . . .    4
  93.      Distribution Notice . . . . . . . . . . . . . . . . . . . . . . .    4
  94.  
  95. A Tale of Two Viruses  . . . . . . . . . . . . . . . . . . . . . . . .    5
  96.      The Byte Bandit Virus . . . . . . . . . . . . . . . . . . . . . .    5
  97.      The IRQ Virus . . . . . . . . . . . . . . . . . . . . . . . . . .    5
  98.  
  99. Technical and Developmental Notes  . . . . . . . . . . . . . . . . . .    8
  100.      SCA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    8
  101.      Byte Bandit . . . . . . . . . . . . . . . . . . . . . . . . . . .    8
  102.      Revenge . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    8
  103.      Byte Warrior  . . . . . . . . . . . . . . . . . . . . . . . . . .    8
  104.      North Star  . . . . . . . . . . . . . . . . . . . . . . . . . . .    8
  105.      Obelisk Softworks Crew  . . . . . . . . . . . . . . . . . . . . .    8
  106.      IRQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    8
  107.      Pentagon Circle . . . . . . . . . . . . . . . . . . . . . . . . .    8
  108.      SystemZ Virus Protector . . . . . . . . . . . . . . . . . . . . .    8
  109.      Lamer Exterminator  . . . . . . . . . . . . . . . . . . . . . . .    8
  110.      Graffiti  . . . . . . . . . . . . . . . . . . . . . . . . . . . .    9
  111.      Old Northstar . . . . . . . . . . . . . . . . . . . . . . . . . .    9
  112.      16 Bit Crew . . . . . . . . . . . . . . . . . . . . . . . . . . .    9
  113.      DiskDoktor  . . . . . . . . . . . . . . . . . . . . . . . . . . .    9
  114.      Australian Parasite . . . . . . . . . . . . . . . . . . . . . . .   10
  115.  
  116. Virus Notes  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   11
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.                                      1
  135.  
  136.  
  137.  
  138.                                - Overview -
  139.  
  140.     Viruses are a nasty fact of life for computer users, and Amiga users
  141. are not immune.  VirusX was created to give Amiga owners a simple and
  142. effective defense against these creatures.
  143.  
  144.      Viruses fall into two categories:  boot-block and other.  Boot-block
  145. viruses are so named because they live on the first two sectors of a disk,
  146. the boot-block.  When a disk is bootable (like Workbench), these sectors
  147. tell the operating system where to go to load AmigaDOS code.  A boot-block
  148. virus, however, points to its own code.  It makes sure that the virus is
  149. activated before the AmigaDOS code is loaded.  Even if this code is not
  150. malicious, this type of virus can still do damage.  Many game programs use
  151. the boot-block for their own code.  If a virus happens to over-write this
  152. code, the game will no longer work.  Most of the viruses found so far have
  153. been of the boot-block variety.
  154.  
  155.      The "other" viruses are relatively new, and are tricky to find. 
  156. These kinds of viruses attach themselves to programs, in some cases
  157. replacing them, and wedge their way into the system.
  158.  
  159.      VirusX is the best defense against these creatures.  I encourage you
  160. to give VirusX to anyone who might need it.  In particular, dealers and
  161. user groups should use VirusX.  These folks, with the amount of disk
  162. copying they do, are particularly vulnerable to viruses.
  163.  
  164.                              How To Use VirusX
  165.  
  166.      VirusX should be run as part of the Startup-Sequence.  To do this,
  167. simply use a text editor to modify your startup-sequence.  Add a line that
  168. simply says "VirusX", and make sure that VirusX is in your c: directory. 
  169. VirusX will open a small window to let you know it is there, and will
  170. automatically check any disk inserted into one of the 3.5" drives.
  171.  
  172.     (The startup-sequence is found in the S: directory of any
  173. AmigaDOS-standard boot disk, like Workbench.  If you don't know how to edit
  174. this file, refer to your Amiga manual, the AmigaDOS manual, or Rob Peck's
  175. book "The Amiga Companion.")
  176.  
  177.      If VirusX finds something suspicious, it will post a requestor
  178. warning the user of either a specific virus or a non-standard boot-block. 
  179. The user will be given the option to Remove or Ignore the potential virus. 
  180. WARNING:  A NON-STANDARD BOOT-BLOCK MAY NOT BE A VIRUS!  This may either be
  181. a virus that VirusX doesn't know about, or it may be a custom boot-block
  182. for a commercial program.  Make SURE that you know that the program is not
  183. using the boot-block for its own purposes before you re-write it.  VirusX
  184. will ask you if you are sure before it does anything.  (Programs which give
  185. you an AmigaDOS window are always safe to repair.)
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.                                      2
  201.  
  202.  
  203.  
  204.  
  205.                             - VirusX Options -
  206.  
  207.  
  208.                            Command Line Options
  209.  
  210.      When you first run VirusX, you have the following command-line
  211. options:
  212.  
  213.      -a   Make virusx window active when run
  214.      -c   Don't check the CoolCapture vectors
  215.      -k   Enable KickTagPtr checking 
  216.      -q   Check all floppies, then quit immediately
  217.      -r   Use this if you've 1 meg Chip RAM and using SetPatch -r
  218.      -x## Set window X position
  219.      -y## Set window Y position
  220.  
  221.      These commands are all given as arguments.  For example:
  222.  
  223. VIRUSX -a -x100 -y100
  224.  
  225.      These commands would run VirusX, make the window active, and put it at
  226. position 100,100 (on the left-and side, halfway down) of the Workbench
  227. screen.
  228.  
  229.  
  230.                            Active Window Options
  231.  
  232.      While VirusX is running, you may click on its titlebar with the left
  233. mouse-button and type the following commands:
  234.  
  235.  
  236.      I    Open the Info Window
  237.      C    Check all mounted floppies for viruses
  238.      ESC  Quit VirusX
  239.      #    Show bootblock in drive # (ie, 0 shows DF0:, 1 DF1: etc)
  240.  
  241.      Example:  Click in the VirusX window and type the number "1" - VirusX
  242. will examine the disk in DF1: and will display the contents of the boot-
  243. block.  This is not very useful any more, since most viruses do not contain
  244. any unencrypted text.  Repeating the command, changing the disk in the
  245. drive just checked, or clicking in the window with the right mouse-button
  246. will cause VirusX to shrink back to "titlebar" size.
  247.  
  248.      You can get VirusX to display information about how many disks it has
  249. checked and what it has found by clicking on the VirusX titlebar with the
  250. right mouse-button.  Clicking again will close the window.
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.                                      3
  267.  
  268.  
  269.  
  270.  
  271.                              - General Notes -
  272.  
  273.                                    Mail
  274.  
  275.      The best way to contact me is through the electronic network     
  276. services listed below.  I've gotten far more VirusX-related mail than 
  277. I thought possible, making it impossible for me to respond to "regular" mail.
  278.  
  279.  
  280.                                  Nut Alert
  281.  
  282. There will be people who are thinking that I am some nut case trying to
  283. spread my own virus hidden under the guise of a virus checker.  Well, just
  284. for you, I've included the C source code.  Please, if you don't trust me,
  285. don't brand a useful utility as untrustworthy for no reason, CHECK THE
  286. SOURCE!  Recompile it if you think I'm trying to slip a fast one by you.  I
  287. just want to see viruses out of all our lives.
  288.  
  289.                             Distribution Notice
  290.  
  291.      This program is Copyrighted, but is freely redistributable (It's NOT
  292. Shareware).  Do what you want with it, but  Please don't use it for evil
  293. purposes. That's what I'm trying to prevent.  
  294.  
  295.      If you are not sure that this is the most current version of VirusX,
  296. you should check with the following sources:  The AmigaZone (American
  297. People/Link Network), BIX, Compuserve, and/or AmigaWorld.  The latest
  298. version of VirusX is available for downloading from the aforementioned
  299. networks, or from AmigaWorld for the price of $5.00, for shipping and 
  300. handling.
  301.  
  302.  
  303.  
  304.      I can be reached on BIX as "s.tibbett" and on People/Link as "SteveX". 
  305. I'm also on Compuserve, but with their dumb numbering system, I can never
  306. remember who I am.
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.                                      4
  333.  
  334.  
  335.  
  336.  
  337.                          - A Tale of Two Viruses -
  338.  
  339.  
  340.  
  341.                            The Byte Bandit Virus
  342.  
  343.     The Byte Bandit virus, once in memory, copies itself to a point just
  344. above the high memory pointer on the first hunk of RAM it can find. This
  345. means that it's not always in the same place.  It then wedges itself into
  346. the Interrupt Server chain, into the vectors of  Trackdisk.device, and
  347. creates a Resident structure for itself so it can hang around after reboot.
  348.  
  349.      It watches EVERY disk inserted, and will write itself to ANY bootable
  350. disk that is inserted!
  351.  
  352.      Also, if you Install a disk while this virus is active, it will copy
  353. itself back to the disk.  This is why it has to be wiped out from memory.
  354.  
  355.      When VirusX finds this virus on a disk, it will also display a "Copy
  356. Count." This represents the number of disks which have been infected by
  357. that "Branch" on the "Tree" that the virus is on.  If you infect a disk
  358. with your copy, and your copy is number 300, then that copy will be #301. 
  359. If that copy infects somebody, that will be #302, but on YOUR copy, two
  360. infections down the line, there will be another #302.  The copy count on MY
  361. Byte Bandit virus was #879.
  362.  
  363.      Note that VirusX will check RAM for this virus as well as the disk. 
  364. This was necessary, as you can tell from the description above.
  365.  
  366.      Special thanks must go here to Dave Hewett, who, 2 days after I gave
  367. him a copy of the virus, gave me a printed, commented disassembly of the
  368. virus with meaningful labels and everything I needed to stomp it - Thanks
  369. Dave!
  370.  
  371.      Thanks must also go to Bruce Dawson of CygnusSoft Software, (author of
  372. that great program, CygnusEd), who went to the trouble of being the First
  373. person to send me this Virus.
  374.  
  375.  
  376.                                The IRQ Virus
  377.  
  378.      The IRQ Virus is a recent Amiga Virus.  This one stands out from the
  379. crowd: it is NOT found in the boot block.
  380.  
  381.      This Virus attaches itself to executable programs.  It's prime target
  382. is the C:DIR command, but it will also look at your startup sequence and
  383. attach itself to the first executable program found in the startup-
  384. sequence.
  385.  
  386. A sample chain of events:
  387.  
  388.    - You download or otherwise acquire a new program.  This program
  389.      happens to be infected.
  390.    - You execute this program.
  391.    - The Virus then attaches itself to memory (by taking over the
  392.      OldOpenLibrary() vector) and adds a KickTagPtr (for no apparent
  393.      reason).
  394.    - Now, you're on DF0: and you run a program that uses the 
  395.      OldOpenLibrary() vector (hard to predict which ones do...).
  396.  
  397.  
  398.  
  399.  
  400.                                      5
  401.  
  402.  
  403.  
  404.      The Virus will open your startup sequence and pick the first
  405.      filename it sees.  If this file is executable it will write 
  406.      itself into that file.  IF it's not executable, it will try to
  407.      write to the DIR command on that disk.
  408.  
  409.      As you can see, this virus will only effect the first file mentioned
  410. in the startup sequence or the DIR command.  The only way this Virus could
  411. possibly spread via modem is through deliberate sabotage, unless the
  412. uploader actually DID have the program as the first thing in his startup
  413. sequence before sending it to you.
  414.  
  415.  
  416. WHAT IT DOES
  417.  
  418.      This Virus is mostly a harmless joke.  It does not appear to kill
  419. commercial programs or do anything malicious.  It's not nice to have
  420. around, but it's certainly better than a malicious virus!
  421.  
  422.      It changes the title bar of the Initial CLI window when you boot, and
  423. it will try to write to any disk inserted - thus bringing up the "Volume
  424. whatever is write protected" requester whenever you insert a write
  425. protected disk.  
  426.  
  427.      It will write itself to any disk from which you execute a file,
  428. overwriting either the DIR command or the first thing in the startup
  429. sequence.
  430.  
  431.      When this virus first installs itself (after reboot), it changes the
  432. title bar of the current window (usually the initial CLI window, since it
  433. IS the first thing in your startup sequence) to say something like
  434. "AmigaDOS Presents:  The IRQ Virus, V41.0".  This is a dead giveaway.
  435.  
  436.      This virus will not work under Kickstart 1.3 - you will get Software
  437. Error requesters whenever you run an infected program.  I'm not sure why,
  438. but this is probably good.
  439.  
  440. HOW TO KNOW IF YOU HAVE THIS VIRUS
  441.  
  442.      You cannot identify a file that has this virus in it just by looking
  443. at it.  The virus encrypts the text parts of itself, and encrypts it
  444. differently on each copy, making it impossible to recognize.  
  445.  
  446.      You can tell your system is infected if you put in a write protected
  447. workbench disk (or any disk that has a startup sequence), and the system
  448. brings up a "Volume <whatever> is write protected" requester.   This
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.  
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.                                      6
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.  
  474. indicates that this virus is in RAM attempting to infect your disk.
  475.  
  476.      Running VirusX 4.0 will tell you if this virus is in RAM, and VirusX
  477. will remove it from RAM.
  478. HOW TO GET RID OF THIS VIRUS
  479.  
  480.      To get the virus out of RAM, run VirusX 4.0.  It will tell you if it 
  481. found it, and that it removed it if it did.  VirusX will check disks the
  482. same way that the Virus does - it will look at the startup sequence,
  483. determine if the first file found (or the DIR command) is infected, and
  484. give you the option of repairing the the damage.  
  485.  
  486.      You can also get rid of this virus simply by deleting all infected
  487. programs and rebooting.  This virus will not hang around after a reboot. 
  488. Because this virus can hit a number of files, not all of which VirusX will
  489. find, I have included a small program by Dan James called KV - "KillVirus." 
  490. This program will check an entire directory's worth of files for this
  491. specific virus.  
  492.  
  493.      VirusX 4.0 will look in the same places as the Virus for infected
  494. programs.  If it finds one, it will pop up a window, tell you where it
  495. found it, and ask if it's OK to remove it.
  496.  
  497. HOW TO MAKE SURE YOU DON'T GET THIS VIRUS
  498.  
  499.      Keep VirusX 4.0 running when you test new programs.  VirusX will
  500. alert you as soon as it sees this virus appear in memory.  If VirusX finds
  501. this virus, it probably came from the last program you ran.
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.                                      7
  529.  
  530.  
  531.  
  532.  
  533.  
  534.  
  535.  
  536.  
  537.  
  538.                    - Technical and Developmental Notes -
  539.  
  540. SCA  - The SCA is the simplest virus to deal with, as it's not actually
  541. DOING anything except hiding in memory until you reboot.  We just look at
  542. CoolCapture and fix it to get it out of RAM.
  543.  
  544. BYTE BANDIT - The Byte Bandit virus takes the DoIO() vector and redirects
  545. it through itself.  Thus, any attempt to read or write the boot block (ie,
  546. AmigaDOS trying to figure out what kind of disk it is) results in Byte
  547. Bandit writing itself onto that disk.  VirusX couldn't just rewrite the
  548. boot block; it has to get Byte Bandit out of RAM first.  This virus also
  549. has an interrupt that crashes the machine every 5 minutes or so after it's
  550. infected a few of your disks.  Ow.  It stays in memory not via the Capture
  551. vectors, but by a Resident module.
  552.  
  553. REVENGE - Basically, this is a Byte Bandit clone which brings up an
  554. obscene pointer a few minutes after you reboot.  We treat it much like the
  555. byte bandit.
  556.  
  557. BYTE WARRIOR - Jumps right into 1.2 Kickstart.  Won't work under 1.3. 
  558. Hangs around via Resident struct, and doesn't do any damage.       
  559.  
  560. NORTH STAR - Like SCA, hangs around via CoolCapture.  Killing CoolCapture
  561. kills the North Star.
  562.  
  563. OBELISK SOFTWORKS CREW - Hangs around via CoolCapture, also watches reads
  564. of DoIO().  It doesn't infect EVERY disk - only the ones you boot from.    
  565.  
  566. IRQ - This is the FIRST Non-Bootblock Virus.  It copies itself from place
  567. to place via the first executable program found in your startup-sequence. 
  568. It SetFunction's OldOpenLibrary(), has a KickTagPtr, and lives in the first
  569. hunk of an infected program.  Thanks go to Gary Duncan and Henrik Clausen
  570. for being the first to send this one to me!
  571.  
  572. PENTAGON CIRCLE - This one looks at the DoIO vector, and has a CoolCapture
  573. vector.  It will write itself over any virus inserted, but not onto
  574. anything else.  (Neat idea!).  No danger, easy to eliminate.  Holding left
  575. button while booting with this one shows different screen colour, but
  576. doesn't get rid of it.  Thanks go to Bill Seymour (CMIBILL on Plink) for
  577. sending me this one!
  578.  
  579. SYSTEMZ VIRUS PROTECTOR - I took this one out.  It's not really a 'Virus',
  580. in that it won't overwrite a disk without asking you first.  Besides, it
  581. seems a lot of people LIKE the SystemZ Virus Protector (though it isn't
  582. perfect).
  583.  
  584. LAMER EXTERMINATOR - THIS one was a bugger.  Yet another virus       
  585. aimed at hurting people.  Y'see, a Lamer is apparently the worst kind of
  586. pirate - one who doesn't crack software, doesn't write software, just
  587. collects names and addresses and collects and spreads software.   Lamers
  588. don't do anybody any good, and the guy behind this Virus took it upon
  589. himself to make their (and our) lives miserable.  This virus loads into RAM
  590.  
  591.  
  592.  
  593.  
  594.                                      8
  595.  
  596.  
  597.  
  598.  
  599.  
  600.  
  601.  
  602. at a random location each time.  It is encrypted on the disk so you can't
  603. SEE the name of it, and it never actually SHOWS the name, but it's
  604. definitely there.  It changes the encryption key used each time it is
  605. written back to disk.
  606.      It has a counter and will wait until the machine has been reset 2
  607. times OR until 3 disks have been infected, and will then pick a DATA block
  608. (Only a DATA block - FFS disks are safe, I guess), randomly, and will write
  609. the word 'LAMER!' all through it.  This is obviously not good, and will
  610. cause  random disk errors.  This is the worst kind of havoc to wreak on the
  611. new user - and this virus is EVERYWHERE!  I've gotten it from 5 people in
  612. the last week alone (all from different countries!  Ack!).  Anyway, credit
  613. for being the first with this one goes to Christian Schneider.  Thanks,
  614. Christian!
  615.      This virus sets up a Resident structure, but never sets the Match Word.
  616. Either this means we don't need the MatchWord or it means his
  617. SumKickData() is doing the recovery job - either way, it's  new!  3 points
  618. for originality.      
  619.  
  620. GRAFFITI - The first virus to come with rotating 3-d graphics!  It's neat -
  621. you might want to trigger it, though I'm not sure how, before nuking it. 
  622. This one just sets CoolCapture(), does something with DoIO() during the
  623. reboot, and sets it back to normal before anybody gets to look at it. 
  624. Lots of code is taken by the graphics stuff.  I just clear the CoolCapture
  625. vector.  [yawn]
  626.  
  627. OLD NORTHSTAR - Poof.
  628.  
  629. 16 BIT CREW - Well, I didn't actually have to DO anything to get   VirusX
  630. to recognize it, because it seems to operate like the Graffiti Virus.  If
  631. the 16 bit crew is in RAM, VirusX will say it removed the Graffiti virus. 
  632.  
  633. DISKDOKTOR - I spent more time on this one than on any other.  Y'see, this
  634. virus does lots of things.  The first one, for some reason, was quite funny
  635. to me.  It waits until you have rebooted 5 times.  Each time you reboot
  636. after that, the virus eats 10K times the total number of reboots.  After
  637. rebooting 10 times, you would be short about 100K.  This virus also starts
  638. up another TASK.  I'm not exactly sure when it happens, but another task
  639. named 'clipboard.device' will appear at a priority of -120, and will
  640. continually bash the Virus' vectors into the Coldcapture, Coolcapture,
  641. Warmcapture (which it sets to $ff000000 just to annoy), and the DoIO()
  642. vector. 
  643.      When I was working on this one, I figured I just had to restore the
  644. old values to the DoIO() vector, but as soon as I did so, the Virus
  645. restored them.  Since I hadn't disassembled the entire thing, I didn't
  646. realize this until I wasted time looking for other faults.  This one also
  647. allocates some memory, copies some code out of Exec into this memory, and
  648. executes it.  I never bothered to figure out why - Once it's gone, it's
  649. gone.
  650.  
  651.  
  652.  
  653.  
  654.  
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.                                      9
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669. AUSTRALIAN PARASITE -  Hey - I like this one!  It says it will not destroy
  670. game bootsectors or corrupt disks, but it's still a Virus.  What makes this
  671. one unique is the way it lets itself be known.  After so many disk accesses
  672. (something like 600 blocks read off of a floppy), it turns your screen
  673. Upside Down!  Nifty.  You can still USE the screen upside down - it just
  674. looks a bit weird.  It uses the DoIO() vector, the TD Read vector, starts
  675. at SysStkLower, and that's about it.  It stays around via CoolCapture. 
  676. Thanks to Martyn at 17Bit Software in England for being the first to send
  677. this to me.
  678.  
  679. Thanks also to Robb Walton for being the first to send one of the other
  680. ones.
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.  
  724.  
  725.  
  726.  
  727.                                      10
  728.  
  729.  
  730.  
  731.  
  732.  
  733.                               - Virus Notes -
  734.  
  735. These are things that you probably should know, but may not, about
  736. what can happen with Viruses.
  737.  
  738.            - If you are trying to format a disk, and you always get a
  739.           message that Cylinder #0 of the disk is bad, it's quite
  740.           possible you have a virus in RAM (or a bad disk).  This is
  741.           because when the Formatter writes to block 0, some viruses
  742.           will prevent this (trying to save themselves).  When the
  743.           formatter reads the block back to verify, it's not the same
  744.           and it panics.
  745.  
  746.            - Some commercial programs will not work with some viruses
  747.           in RAM.
  748.  
  749.            - Not all computer failures are caused by viruses!  If you
  750.           are having problems, and you have checked your disks with
  751.           VirusX (and it reports them as clean), try looking elsewhere
  752.           for the problem.
  753.  
  754.            - There is at least one virus that can (more or less
  755.           accidentally) hit hard disks.  Some of the viruses use the
  756.           DoIO() vector to watch for any read (or write) attempts at
  757.           block 0.  Unfortunately, they do not always make sure that
  758.           it is block 0 of the Floppy drive.  If someone is writing to
  759.           block 0 of the hard disk, and the virus intercepts this, it
  760.           can write itself to the hard disk.  The virus CANNOT load
  761.           from hard disk - the hard disk's boot block is never
  762.           executed.  However, if your hard disk is an FFS volume, then
  763.           writing the virus to it will have the effect of changing it
  764.           to an OFS volume, making what's on it unusable.  You can fix
  765.           this with DiskDoctor (I believe), or using DiskX.
  766.  
  767.            - VirusX may NOT find some viruses if you run it after the
  768.           virus is already loaded.  In some cases - like the Lamer
  769.           Exterminator virus - VirusX is sees what the virus wants it
  770.           to see, not what's really there.  Run VirusX BEFORE you run
  771.           anything else, or BEFORE you load any suspicious disks.
  772.  
  773. Version Notes have been moved from the documentation file to the source
  774. code file.  Please read VirusX.C for the version history of VirusX.
  775.  
  776. I'd like to thank Lars Wilklund, Jason Allen Smith, Bruce Dawson,
  777. Robb Walton, Pete Foley, and all the others whose names I've forgotten who
  778. have sent me disks (And the many people who have written to me, but
  779. whom I have not been able to answer!  I do read your letters!)
  780.  
  781. Mucho thanks also to Dan James, who's been helping me all along,
  782. and who did a lot of the finding out about the IRQ Virus.
  783.  
  784. (And to Ian Sewell, for 2 million points worth of MUD treasure which
  785. I never got...)
  786.  
  787.     ...Steve
  788.  
  789.  
  790.  
  791.  
  792.  
  793.                                      11
  794.  
  795.  
  796.